package com.lonely.goods.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.lonely.goods.domain.dto.material.MaterialItemPageQueryDTO;
import com.lonely.goods.domain.entity.SysMaterialItem;
import com.lonely.goods.domain.vo.material.items.MaterialItemVO;
import com.lonely.goods.domain.vo.material.items.MaterialItemPageVO;
import com.lonely.goods.domain.vo.material.page.MaterialItemDetailVO;

import java.util.List;

/**
 * @author : 黄志标
 * @date: 2025/7/10 10:05
 * @description: 物料明细接口
 */
public interface IMaterialItemService extends IService<SysMaterialItem> {

    /**
     * 查询物料
     *
     * @param queryDto
     * @return
     */
    Page<MaterialItemPageVO> queryMaterialItemPage(MaterialItemPageQueryDTO queryDto);

    /**
     * 提交物料明细
     *
     * @param materialId
     * @param materialItemDetails
     */
    void submitMaterialItems(Long materialId, List<MaterialItemDetailVO> materialItemDetails);


    /**
     * 获取指定物料明细id对应的物料明细信息
     *
     * @param materialItemId
     * @return
     */
    MaterialItemVO getMaterialItemDetail(Long materialItemId);

    /**
     * 批量获取指定物料明细id对应的物料信息
     *
     * @param materialIds
     * @return
     */
    List<MaterialItemVO> queryMaterialInfoByIds(List<Long> materialIds);
}
